using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// 背包格子内的物品
/// </summary>
public class ItemUI : MonoBehaviour
{

    public Image itemImage;
    public Text itemAmountText;
    /// <summary>
    /// 记录当前物品，也用于显示奖励物品的 itemToolTip
    /// </summary>
    public ItemData_SO currentItemData;
    // 当前格子内物品所属的物品数据库
    public InventoryData_SO Bag { get; set; }
    // 当前格子内物品所属的物品数据库的索引
    public int Index { get; set; } = -1;

    private void Awake()
    {
        itemImage = GetComponent<Image>();
        itemAmountText = transform.GetChild(0).GetComponent<Text>();
    }
    public void Setup(ItemData_SO item, int itemAmount)
    {
        // 消耗品使用完了
        if (itemAmount == 0)
        {
            // 对背包中的空物品清零
            Bag.inventoryList[Index].itemData = null;
            itemImage.gameObject.SetActive(false);
            return;
        }
        // 不显示任务奖励中，需要扣除的物品
        if (itemAmount < 0)
        {
            item = null;
        }

        if (item != null)
        {
            currentItemData = item;

            itemImage.sprite = item.itemIcon;

            itemAmountText.text = itemAmount.ToString();

            gameObject.SetActive(true);
        }
        else
        {
            gameObject.SetActive(false);
        }

    }
    /// <summary>
    /// 将当前背包格子内物品对应的数据库物品返回
    /// </summary>
    /// <returns></returns>
    public ItemData_SO GetItem()
    {
        if (Bag.inventoryList[Index] != null)
        {
            return Bag.inventoryList[Index].itemData;
        }
        return null;
    }
}
